/*
 * Copyright 2018 JDCLOUD.COM
 *
 * Licensed under the Apache License, Version 2.0 (the "License");
 * you may not use this file except in compliance with the License.
 * You may obtain a copy of the License at
 *
 *    http:#www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License is distributed on an "AS IS" BASIS,
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 * See the License for the specific language governing permissions and
 * limitations under the License.
 *
 * 
 * 
 *
 * 
 * Contact: 
 *
 * NOTE: This class is auto generated by the jdcloud code generator program.
 */


using System;
using System.Collections.Generic;
using System.Text;

using JDCloudSDK.Core.Annotation;

namespace JDCloudSDK.Ias.Model
{

    /// <summary>
    ///  应用组
    /// </summary>
    public class ApplicationRes
    {

        ///<summary>
        /// 应用ID，由京东云分配的16位数字ID
        ///Required:true
        ///</summary>
        [Required]
        public string ClientId{ get; set; }
        ///<summary>
        /// 应用名
        ///Required:true
        ///</summary>
        [Required]
        public string ClientName{ get; set; }
        ///<summary>
        /// 客户端认证方式
        ///Required:true
        ///</summary>
        [Required]
        public string TokenEndpointAuthMethod{ get; set; }
        ///<summary>
        /// 支持的OAuth类型
        ///Required:true
        ///</summary>
        [Required]
        public string GrantTypes{ get; set; }
        ///<summary>
        /// 当grantTypes为authorization_code时，responseTypes为code；当grantTypes为implicit时，responseTypes为token
        ///Required:true
        ///</summary>
        [Required]
        public string ResponseTypes{ get; set; }
        ///<summary>
        /// 回调地址
        ///Required:true
        ///</summary>
        [Required]
        public string RedirectUris{ get; set; }
        ///<summary>
        /// 应用介绍地址
        ///Required:true
        ///</summary>
        [Required]
        public string ClientUri{ get; set; }
        ///<summary>
        /// 应用logo地址
        ///Required:true
        ///</summary>
        [Required]
        public string LogoUri{ get; set; }
        ///<summary>
        /// 应用服务协议地址
        ///Required:true
        ///</summary>
        [Required]
        public string TosUri{ get; set; }
        ///<summary>
        /// 应用隐私条款地址
        ///Required:true
        ///</summary>
        [Required]
        public string PolicyUri{ get; set; }
        ///<summary>
        /// OAuth scope授权范围
        ///Required:true
        ///</summary>
        [Required]
        public string Scope{ get; set; }
        ///<summary>
        /// JWKS地址
        ///Required:true
        ///</summary>
        [Required]
        public string JwksUri{ get; set; }
        ///<summary>
        /// JWKS
        ///Required:true
        ///</summary>
        [Required]
        public string Jwks{ get; set; }
        ///<summary>
        /// 应用联系信息
        ///Required:true
        ///</summary>
        [Required]
        public string Contacts{ get; set; }
        ///<summary>
        /// 应用扩展信息
        ///Required:true
        ///</summary>
        [Required]
        public string Extension{ get; set; }
        ///<summary>
        /// 访问令牌有效期
        ///Required:true
        ///</summary>
        [Required]
        public int AccessTokenValiditySeconds{ get; set; }
        ///<summary>
        /// 刷新令牌有效期
        ///Required:true
        ///</summary>
        [Required]
        public int RefreshTokenValiditySeconds{ get; set; }
        ///<summary>
        /// 是否为多租户应用
        ///Required:true
        ///</summary>
        [Required]
        public bool MultiTenant{ get; set; }
        ///<summary>
        /// 应用密码更新时间
        ///Required:true
        ///</summary>
        [Required]
        public long SecretUpdateTime{ get; set; }
        ///<summary>
        /// 应用更新时间
        ///Required:true
        ///</summary>
        [Required]
        public long UpdateTime{ get; set; }
        ///<summary>
        /// 应用创建时间
        ///Required:true
        ///</summary>
        [Required]
        public long CreateTime{ get; set; }
        ///<summary>
        /// 创建应用的账户用户名
        ///Required:true
        ///</summary>
        [Required]
        public string Account{ get; set; }
        ///<summary>
        /// 允许登录应用的账号类型
        ///Required:true
        ///</summary>
        [Required]
        public string UserType{ get; set; }
    }
}
